//
//  UIView+Category.h
//  LCFN-Buyers
//
//  Created by lcfn on 2018/3/30.
//  Copyright © 2018年 royce. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface UIView (Category)
+ (instancetype)loadInstanceFromNib;
+ (instancetype)loadInstanceFromNibWithName:(NSString *)nibName owner:(id)owner bundle:(NSBundle *)bundle;

/**
 设置view圆角

 @param view view
 @param width 圆角值
 */
+ (void)setLayerRadius:(UIView *)view radiusWidth:(NSInteger)width;

/**
 设置view阴影
 
 @param view view
 @param radius 范围值
 */
+ (void)setLayerShadowView:(UIView *)view color:(UIColor *)color shadowRadius:(NSInteger)radius;


/**
 设置view圆角以及边框阴影
 (同时设置圆角阴影必须在主view上加子view 主view设置阴影 子view设置圆角.ps:主view背景设为透明)

 @param mainView 主view
 @param subView 子view
 @param width 圆角值
 @param radius 范围值
 */
+ (void)setLayerMainView:(UIView *)mainView subView:(UIView *)subView radiusWidth:(NSInteger)width shadowRadius:(NSInteger)radius;

+ (void)setLayerMainView:(UIView *)mainView subView:(UIView *)subView radiusWidth:(NSInteger)width shadowRadius:(NSInteger)radius shadowSize:(CGSize) size shadowColor:(UIColor *)color;

/**
  设置view边框以及圆角

 @param view 设置的view
 @param width 圆角值
 @param color 边框颜色
 @param widthBorder 边框宽度
 */
+ (void)setLayerViewShadow:(UIView *)view radiusWidth:(NSInteger)width borderColor:(UIColor *)color borderWidth:(CGFloat)widthBorder;


/**
 设置view某一边的圆角

 @param view 需要设置的view
 @param topLeft 左上 YES:设置 NO:不设置
 @param topRight 右上 YES:设置 NO:不设置
 @param bottomLeft 左下 YES:设置 NO:不设置
 @param bottomRight 右下 YES:设置 NO:不设置
 @param widthBorder 圆角值
 */
+(void)setLayerView:(UIView *)view topLeft:(BOOL)topLeft topRight:(BOOL)topRight bottomLeft:(BOOL)bottomLeft bottomRight:(BOOL)bottomRight borderWidth:(CGFloat)widthBorder;

/**
 *  通过 CAShapeLayer 方式绘制虚线
 *
 *  param lineView:       需要绘制成虚线的view
 *  param lineLength:     虚线的宽度
 *  param lineSpacing:    虚线的间距
 *  param lineColor:      虚线的颜色
 *  param lineDirection   虚线的方向  YES 为水平方向， NO 为垂直方向
 **/
+ (void)drawLineOfDashByCAShapeLayer:(UIView *)lineView lineLength:(int)lineLength lineSpacing:(int)lineSpacing lineColor:(UIColor *)lineColor lineDirection:(BOOL)isHorizonal;
/**
 *  通过 CAShapeLayer 方式绘制虚线边框
 *
 *  param lineView:       需要绘制成虚线边框的view
 *  param cornerRadius:   圆角
 *  param lineColor:      虚线的颜色
 *  param lineWidth       虚线的宽度
 **/
+ (void)drawBorderOfDashByCAShapeLayer:(UIView *)lineView cornerRadius:(CGFloat)radius lineWidth:(CGFloat)lineWidth lineColor:(UIColor *)lineColor;

/**
 *  下拉刷新上啦加载
 */
- (void)setupRefresh:(UITableView *)tableView;
- (void)setUpHeaderRefresh:(UITableView *)tableView;
- (void)setUpFooterRefresh:(UITableView *)tableView;
- (void)headerRereshing;
- (void)footerRereshing;
- (void)headerEnd:(UITableView *)tableView;
- (void)footerEnd:(UITableView *)tableView;
- (void)footerNoMoreData:(UITableView *)tableView;



@end
